iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 11
0
自我挑戰組

前端我來了 - 30天 JavaScript 從無到有 系列 第 11

番外篇-透過ElasticSearch實作全文檢索 -2

  • 分享至 

  • xImage
  •  

昨天對 ElasticSearch做了一些簡單的小介紹,今天聊聊 ElasticSearch的資料組成以及架構

資料組成:

  • Node : 一個安裝有 ElasticSearch 的機器就稱為是一個 Node
  • Cluster : Node 群 (應用的所有 Node)
  • Field : 欄位,為最小單位
  • Document : 若干個 Field 集合成一個 Document,有唯一 ID
  • Type : 一個 Document 必須隸屬於一個 Type
  • Index : 由 Type 組成
  • Example : /index/type/id

備註 : 在後期官方取消了 Type 的應用,並統一以 (_doc) 管理,而原來的 Type就類似於一般資料庫中的 Table,官方給出的解釋是,如果一個 Node中,又依據資料拆成多個 Type不符合原本理念,效能也較差,故取消。

比較圖 :
https://ithelp.ithome.com.tw/upload/images/20200911/20129536UagbCsQYwJ.png

架構觀念
Shard : 分片,Elasticsearch 提供分散式搜尋的基礎,將一個完整的 Index 分成若干部分,儲存在相同或不同的 Node 上,這些組成 Index 的部分就叫做 Shard。
Replica : Shard 的備份,所以一個 Index 的 Shard 數量就等於 Shard × (1 + Replica)。
示意圖 :
https://ithelp.ithome.com.tw/upload/images/20200911/20129536kUPFxABV7J.png

Recovery :
當有節點加入、退出叢集(Cluster)或故障節點重新啟動時,Elasticsearch 會根據各節點 (Node) 的負載情況,對索引分片 (Shards) 進行重新分配
示意圖 :
https://ithelp.ithome.com.tw/upload/images/20200911/20129536rnHaOFEIMK.png

ELK Stack
Logstash:可收集各式各樣的 Log 或是資訊,並根據你的 Log 來 Parser 成你要的資料欄位 
Kibana:視覺化與圖形化的方式來顯示各種 Log
Beats:針對特定要收集的 Log,官方量身定做的輕量級日誌收集與轉送套件

示意圖 :
https://ithelp.ithome.com.tw/upload/images/20200911/20129536hU7aDhxufP.jpg

資料結構大致上,明天來進行實作~


來源 :
https://www.dotblogs.com.tw/supershowwei/2015/12/01/112117
https://zhuanlan.zhihu.com/p/72974595
https://godleon.github.io/blog/Elasticsearch/Elasticsearch-getting-started/
https://blog.toright.com/posts/5319/fulltext-search-elasticsearch-kibana-bigdata.html


上一篇
番外篇-透過ElasticSearch實作全文檢索 -1
下一篇
番外篇-透過 ElasticSearch實作全文檢索 -3
系列文
前端我來了 - 30天 JavaScript 從無到有 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言